Initiating use of software as part of a messaging window

ABSTRACT

Disclosed is a novel system and method for initiating trial use of a software application. One or more trial software icons are displayed on a messaging window of a graphical users interface on a display coupled to a computing device. Each trial software icon represents a trial software application, such as a separate and distinct trial software application, that is not currently installed on the computing device. Moving an object representing a file attachment, such as through drag-and-drop action, to one of the trial software icons automatically installs the trial software application on the computing device. Also the trial software application is launched automatically to open the file attachment.

BACKGROUND

The present invention generally software for opening file attachments inan email program, text messaging program, and web-browser program. Morespecifically the present invention is directed to using trial softwarefor opening file attachments.

Users of computer systems and portable devices often times receivemessages though messaging applications with files attached to them.These attachments can be sent by email, by text messaging, or through aweb-browser. Typically when a user receives an attachment or file,another program must be invoked to open the attachment. To open anattachment with a program many operating systems such as Linux, Mac OS,and Microsoft Windows use a technique called file association. Fileassociation matches a file with an application capable of opening thatfile. More commonly, a file association associates a class of files,usually determined by their filename extension, such as “.txt”, with acorresponding application, such as a text editor. A single fileassociation may have one or more actions such as open, edit, or print.

More recently, some operating systems, such as Microsoft Windows, firstcheck for the file association information locally. If no localinformation is available about the file name extension, the operatingsystem offers the user the option of looking for more information onlineover the Internet. Although this online search can be useful, the searchresults are limited only to a single site, such as the site provided bythe provider of the operating system. Moreover, the search results arelimited to one application with no information regarding other free orfee-based alternatives. Further, these options are not presentedautomatically or in the window as part of the messaging application inwhich the file attachment has been received.

SUMMARY

Disclosed is a computer implemented method, system, and computer programproduct for initiating trial use of a software application. One or moretrial software icons are displayed on a messaging window of a graphicalusers interface on a display coupled to a computing device. Each trialsoftware icon represents a trial software application, such as aseparate and distinct trial software application, that is not currentlyinstalled on the computing device. Moving an object representing a fileattachment, such as through-n-drop action, to one of the trial softwareicons automatically installs the trial software application on thecomputing device. Also the trial software application is launchedautomatically to open the file attachment.

The arrangement of the trial software icons relative to the messagingwindow, and/or appearance of the trial software icons as part of themessaging window can be changed in response to a number of differentsorting factors. One example of a sorting factor is the relativepopularity of the trial software application that can be measure by thefrequency of installations. The relative position of the trial softwareapplication is sorted based on popularity. Another example of a sortingfactor is based on advertising payments associated with each trialsoftware application. In this example, the relative position of thetrial software application is sorted based on the amount of the payment.Other examples of sorting factors are given below.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying figures wherein reference numerals refer to identicalor functionally similar elements throughout the separate views, andwhich together with the detailed description below are incorporated inand form part of the specification, serve to further illustrate variousembodiments and to explain various principles and advantages all inaccordance with the present invention, in which:

FIG. 1 diagrammatically depicts an email application coupled to adistributed computing network;

FIG. 2 is a diagram of an email client window as part of an emailapplication of FIG. 1;

FIG. 3 is the email client window of FIG. 2, showing the cursor movingat a first point in time to drag-and-drop a file attachment to one ormore trial software icons;

FIG. 4 is the email client window of FIG. 2, showing the cursor movingat a second point in time to drag-and-drop a file attachment to one ormore trial software icons;

FIG. 5 is the email client window of FIG. 2, showing the cursor movingat a third point in time to drag-and-drop a file attachment to one ormore trial software icons;

FIG. 6 is a block diagram of a process window of installing the trialsoftware application as a result of the drag-and-drop of FIG. 5, whilethe email client window has been minimized or placed in the background;

FIG. 7 is a block diagram of a process window of opening and viewing thefile attachment using the trial software application that has beeninstalled in FIG. 6;

FIG. 8 is a block diagram of the file attachment representing an imagethat has been opened using the installed trial software program;

FIG. 9 is a table of sorting factors used to present trial softwareicons;

FIG. 10 is a flow chart depicting operating of the trial softwaremanager with a client computing device; and

FIG. 11 is a block diagram illustrating one example of an informationprocessing system.

DETAILED DESCRIPTION

As required, detailed embodiments are disclosed herein; however, it isto be understood that the disclosed embodiments are merely examples andthat the systems and methods described below can be embodied in variousforms. Therefore, specific structural and functional details disclosedherein are not to be interpreted as limiting, but merely as a basis forthe claims and as a representative basis for teaching one skilled in theart to variously employ the present subject matter in virtually anyappropriately detailed structure and function. Further, the terms andphrases used herein are not intended to be limiting, but rather, toprovide an understandable description of the concepts.

The description of the present invention has been presented for purposesof illustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

Non-Limiting Definitions

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise.

It will be further understood that the terms “comprises” and/or“comprising,” when used in this specification, specify the presence ofstated features, steps, operations, elements, and/or components, but donot preclude the presence or addition of one or more other features,integers, steps, operations, elements, components, and/or groupsthereof.

The term “appearance” as it applies to a trial software icons denotesany change in size, color, font, shape, or animation to denote orderbased on one more sorting factors.

The term “compatible with” means the encoding format used for theparticular contents or usage of the file attachment can be viewed,played, or used with any one of the one of the trial softwareapplications represented by the trial software icons.

The term “computing device” is any device, such as a computer,smartphone, tablet, television, or other information processing devicein which software can be installed to view various file attachments.

The term “drag-and-drop” is a gesture typically performed with apointing device, such as a mouse, on a graphical user interface to movea virtual object it by dragging it to a different location or ontoanother virtual object.

The term “file attachment” is any object representing text, graphics,pictures, audio, movies, whether in 2D or 3D, or a combination thereof.Typically the file attachment uses an encoding format for its particularcontents or usage. The type of encoding format used in a file attachmentis denoted in metadata, such as a file extension. Examples of fileextensions denoting encoding formats include txt, pdf, mp3, mov, zip,jpg, png, and many more.

The term “messaging window” is a visual area containing some kind ofuser interface. It usually has a rectangular shape and can overlap withthe area of other windows. It displays the output of and may allow inputto one or more processes. Examples of messaging windows include but arenot limited, to an email program, a text messaging program, and aweb-browser program.

The term “no currently installed” refers to a trial software applicationthat is not available to a user of a computing device to view a fileattachment. Typically the trial software application must be installedor enabled before the file attachment can be displayed.

The phrase “position with respect to messaging window” refers to a trialsoftware icons being sorted and placed in a one dimensional, twodimensional or three-dimensional order based on one more sortingfactors.

The term “trial software application” is software that a user can trybefore they purchase a license to it. This term is also used forsoftware that is free, also known as freeware. Typically the use oftrial software is time limited or limited by the number of uses. If thetime for the trial time runs out or the limited number of uses of thesoftware exhausted, the trial software is no longer available to theuser unless a license is purchased.

The term “trial software icon” is a pictogram on a graphical userinterface to represent trial software application that may be activatedby dragging and dropping a file attachment to it.

Distributed Computer System

Referring to FIG. 1, there is a distributed computer system 100 that maybe used to carry out the trial use of a software application. In oneexample, the trial software application may reside on and be executed byserver computer 120, which may be connected to network 114 e.g., theInternet or a local area network. Examples of server computer 120 mayinclude, but are not limited to: a personal computer, a server computer,a series of server computers, a mini computer, and a mainframe computer.Server computer 120 may be a web server or a series of servers running anetwork operating system, examples of which may include but are notlimited to Microsoft Windows Server or Linux, for example.Alternatively, email propagation process may reside on a clientelectronic device, such as a personal computer, notebook computer,personal digital assistant, or the like. As will be discussed below ingreater detail, an email user is presented on the email programdifferent icons representing applications to open attachments. One anicon is selected by the user, the trial software is installed, launchedand the file attachment opened.

The instruction sets and subroutines of the process to present trialsoftware applications to the user 110, which may be stored on storagedevice 116 coupled to server computer 112, may be executed by one ormore processors (not shown) and one or more memory architectures (notshown) incorporated into server computer 112. Storage device 116 mayinclude but is not limited to: a hard disk drive; a tape drive; anoptical drive; a RAID array; a random access memory (RAM); and aread-only memory (ROM).

Server computer 112 may execute a web server application, examples ofwhich may include but are not limited to IBM Websphere or ApacheWebserver™, that allows for HTTP (i.e., HyperText Transfer Protocol)access to server computer 112 via network 114. Network 114 may beconnected to one or more secondary networks e.g., network 118, examplesof which may include but are not limited to: a local area network; awide area network; or an intranet, for example.

Server computer 112 may execute email server application 120, examplesof which may include but are not limited to Lotus Domino Server andMicrosoft Exchange Server. Mail server application 120 may be a mailtransfer agent that may store and route email to one or more emailclient applications 122, 124, 126, 128, examples of which may includebut are not limited to Lotus Notes™ and Microsoft Outlook™. The computercode for the trial software manager 110 may be a standalone applicationthat interfaces with email server application 120 or anapplet/application that is executed within email server application 120.In another example the program to present trial software is downloadedan installed as part of extension or plug-in to an email client runningon the client applications 122, 124, 126, 128.

The instruction sets and subroutines of email server application 120,which may be stored on storage device 116 coupled to server computer 112may be executed by one or more processors (not shown) and one or morememory architectures (not shown) incorporated into server computer 112.

In addition/as an alternative to being a server-based applicationresiding on server computer 112, the email propagation process may be aclient-side application residing on one or more client electronicdevices 138, 140, 142, 144, e.g., stored on storage devices 130, 132,134, 136, respectively. As a client-side application, email propagationprocess may, e.g., be a standalone application, interface with an emailclient application, or may be an applet/application that is executedwithin email client application. Accordingly, email propagation processmay be a server-based process, a client-side process and/or may be ahybrid client-side/server-based process, which may be executed, in wholeor in part, by email client application and by email server application.

The instruction sets and subroutines of email client applications 122,124, 126, 128, which may be stored on storage devices 130, 132, 134, 136(respectively) coupled to client electronic devices 138, 140, 142, 144(respectively), may be executed by one or more processors (not shown)and one or more memory architectures (not shown) incorporated intoclient electronic devices 138, 140, 142, 144 (respectively). Storagedevices 130, 132, 134, 136 may include but are not limited to: hard diskdrives; tape drives; optical drives; RAID arrays; random access memories(RAM); read-only memories (ROM), compact flash (CF) storage devices,secure digital (SD) storage devices, and a memory stick storage devices.Examples of computing devices 138, 140, 142, 144 may include, but arenot limited to, personal computer 138, laptop computer 140, cellulartelephone 142, notebook or table computer 144, and a dedicated networkdevice (not shown). Using email client applications 122, 124, 126, 128,users 146, 148, 150, 152 may access email server application 20 and maysend, retrieve and/or organize email messages.

Users 146, 148, 150, 152 may access email server application 120directly through the device on which the email client applications 122,124, 126, 128 are executed, namely on client electronic devices 138,140, 142, 144. Users 146, 148, 150, 152 may access email serverapplication 120 directly through network 114 or through secondarynetwork 118. Further, server computer 112 (i.e., the computer thatexecutes email server application 120) may be connected to network 114through secondary network 118, as illustrated with phantom link line154.

The various client electronic devices may be directly or indirectlycoupled to network 114 (or network 118). For example, personal computer138 is shown directly coupled to network 114 via a hardwired networkconnection. Further, notebook computer 144 is shown directly coupled tonetwork 118 via a hardwired network connection. Laptop computer 140 isshown wirelessly coupled to network 114 via wireless communicationchannel 156 established between laptop computer 140 and wireless accesspoint (i.e., WAP) 158, which is shown directly coupled to network 114.WAP 158 may be, for example, an IEEE 802.11a, 802.11b, 802.11g, Wi-Fi,and/or Bluetooth device that is capable of establishing wirelesscommunication channel 156 between laptop computer 140 and WAP 158.Personal digital assistant 142 is shown wirelessly coupled to network114 via wireless communication channel 160 established between personaldigital assistant 142 and cellular network/bridge 162, which is showndirectly coupled to network 114.

As is known in the art, all of the IEEE 802.11x specifications may useEthernet protocol and carrier sense multiple access with collisionavoidance (i.e., CSMA/CA) for path sharing. The various 802.11xspecifications may use phase-shift keying (i.e., PSK) modulation orcomplementary code keying (i.e., CCK) modulation, for example. As isknown in the art, Bluetooth is a telecommunications industryspecification that allows e.g., mobile phones, computers, and personaldigital assistants to be interconnected using a short-range wirelessconnection.

Client electronic devices 138, 140, 142, 144 may each execute anoperating system, examples of which may include but are not limited toMicrosoft Windows, Apple iOS, Google Android, Linux, BlackBerry OS or acustom operating system.

Trial Software Application Presentation

Referring also to FIG. 2, an email client 122, 124, 126, 128 associatedwith a user 146, 148, 150, 152 has received an email message 200. Theemail message has several typical fields of information. The “From”field 210, the “To” field 212, the “cc” filed 214, the “Subject” fieldand the message body 220. Also shown is an “attachment” field oftendisplayed with a paper clip icon 240. Typical user selectable icons suchas “Reply” 252, “Save” 254, and “Delete” 256 are also shown, whosefunctions are well known to email users. Also shown are a series oficons 260, 262, 264, 266, each of these icons represent a trial softwareapplication that is compatible with the attachment 240. The term“compatible with” means the encoding format used for the particularcontents or usage of the file attachment can be viewed, played, or usedwith any one of the one of the trial software applications representedby the trial software icons 260, 262, 264, 266.

Typically the file attachment uses an specific encoding format for itsparticular contents or usage. The type of encoding format used in a fileattachment is denoted in metadata, such as a file extension, howeverother types of metadata such as descriptors may be used. Examples offile extensions denoting encoding formats include txt, pdf, mp3, mov,zip, jpg, png, and many more.

As shown in FIG. 3 through FIG. 5 is a series of the diagrammatic viewof the email client window rendered by the email application of FIG. 2,showing the cursor 270 moving in several points in time to drag-and-dropa file attachment 240 to trial software icon 264. It is important tonote that the position with respect to messaging window 200 of the trialsoftware icons 260, 262, 264, and 266, in one example are sorted andplaced in a one dimensional, two dimensional or three-dimensional orderbased on one more sorting factors. This automatic sorting will bediscussed further below.

Continuing further FIG. 6 is a block diagram of a process window ofinstalling the trial software application as a result of thedrag-and-drop of FIG. 5, while the email client window 200 has beenminimized or placed in the background. Next, in FIG. 7 a block diagramof a process window of opening and viewing in the file attachment 240using the trial software application 264 that has been installed in FIG.6. FIG. 8 is the file attachment 240 representing an image that has beenopened using the installed trial software program 264. Note that theviewing of the image has been automatically brought to the foreground inthis example. This is important when using computing devices that havesmall screens, such as mobile and handheld devices, in which screen realestate is very limited.

Trial Software Manager 110

The trial software manager 110, in one example, is responsible for boththe selecting and sorting the position with respect to messaging window200 of the trial software icons 260, 262, 264, and 266. The trialsoftware manager 110 first determines the encoding format used for theparticular contents or usage of the file attachment 240. The encodingformat is required to view, play, or otherwise use the content in thefile attachment. For example, the trial software manager 110 can examinemetadata about the file attachment 240, such as but not limited to fileextension. Examples of file extensions denoting encoding formats includetxt, pdf, mp3, mov, zip, jpg, png, and many more.

FIG. 9 is an example table 900 of some of the sorting factors used toselect the trial software icons. In column 910 the encoding types areidentified. The name of the encoding format in column 912. This may beused in conjunction with or instead of the file extension to identifythe encoding format of the attachment. Again, first the type of encodingis determined, next a sorting order is determined. Next depending on theoperating system, different programs are available that are compatiblewith a file attachment. For example, shown are three operatingsystems—Window 914, Mac 916, and Linux 918 with a list of compatibleprograms associated with each encoding format. Although three exampleoperating systems are shown, it is important to note that otheroperating system including mobile operating systems are within the truescope of the presently claims invention.

Also, shown are examples of additional factors used to sort and selectthe trial software icons such as ranking 920. The ranking could be basedon number of downloads where the trial software with the highestdownloads are ranked higher. Another factor is rating 922. The ratingcan be based on user feedback, third party feedback or a combination ofboth. The trial software with the highest rating would be sorted nearthe top of the list. Also shown is a price 924 that a software providermay be will to pay to have their software placed in the list higher.This would be similar to other online search based advertising, wherethe price can be bid on for a period of time. The trial software withthe higher price would be near the top of the list. Other factors may beused as well to sort the icons. Moreover, the trial software icons maychange position with respect to messaging window in a one dimensional,two dimensional or three-dimensional order based on one more sortingfactors. In another example in lieu of or in addition to the position ofthe trial software icons changes, the appearance of the trial softwareicons changes. Appearance of the trial software icons may be any changein size, color, font, shape, or animation to denote order based on onemore sorting factors. The phrase “position with respect to messagingwindow” refers to a trial software icons being sorted and placed in aone dimensional, two dimensional or three-dimensional order based on onemore sorting factors. Therefore two users receiving the same fileattachment may have the trial software icon presented differentlydepending on operating system, and time of day, all of which may affectprice and ranking, etc.

Operation of Trial Software Manager with Client Computing Device

As mentioned above, the trial software manager 110 selects softwareapplications that are compatible with an attachment sent as part of amessage to a user. The trial software manager 110 also prioritizes thedisplay of the trial software icons 260, 262, 264, 266 according to oneor more sorting factors. These selected and sorted trial software icons260, 262, 264, 266 are sent by the trial software manager 110 to theclient computing devices 138, 140, 142, 144. Turning now to FIG. 10,shown is a flow chart depicting operating of the trial software manager110 with a client computing device client computing devices 138, 140,142, 144. The process begins in step 1002 and immediately proceeds tostep 1004 where the trial software manager 110 examines emails/messagesbeing sent to one or more email applications 122, 124, 126, 128. A testis made in step 1006. In the event no attachments have been identified,the process loops back to step 1004. Otherwise, in step 1008 the trialsoftware icons are selected and sorted. Examples of sorting factors areshown in FIG. 9. The trial software icons 260, 262, 264, 266 that havebeen selected are sent to one or more email applications 122, 124, 126,128. The trial software icons 260, 262, 264, 266 could be sent could bea simple link to the icon using embedded HTML or sending the trialsoftware icons themselves. It is important to note that the trialsoftware icons 260, 262, 264, 266 are most likely to change dynamicallywith each new attachment received by an email client depending on thesorting factors. Next, in step 1012, the trial software mangerdetermines in the email applications 122, 124, 126, 128 if the fileattachment has been dragged-and-dropped to one or trial software icons260, 262, 264, 266. The email applications may be a web-based emailapplication, or as a plug-in/addition to a stand-alone email client.While waiting for the file attachment to be dragged-n-dropped, theprocess loops back to step 1010. Otherwise, in the event the fileattachment has been dragged-n-dropped to one or trial software iconsclient computing devices 138, 140, 142, 144 the process proceeds to step1014, where the trial software is automatically installed. In oneexample, all the steps 1014, 1016, 1018 are performed automaticallywithout any interaction from a user. In another example, an “acceptbutton” (not shown) to ensure the licensing terms and conditions of thetrial software has been accepted. The trial software in step 1016 islaunched and the file attachment is now automatically displayed in step1018 without any user interaction. Moreover, the display of the fileattachment by the trial software application in one example,automatically brings this window to the foreground and/or minimizes themessaging applications. This is important for computing devices, such asmobile devices, in which the screen size is limited. The processconcludes in step 1020.

In another example two or more occurrences of trial software icons 260,262, 264, 266 in step 1010 are selected. The trial software icons couldbe selected because they are positioned next to or adjacent to eachother in the messaging window 200 or selected with special keyboard key,such as a “cntrl” key being depressed to select more than one trialsoftware icon 260, 262, 264, 266. Then depending on the exact totalnumber of trial software icons being selected, the corresponding numberof trial software applications are automatically installed in steps 1014through 1018.

Continuing further, two trial software icons could be selected—a firstversion of the trial software application and a second version of thetrial software application. The trial software application can bedifferent versions of the same application e.g., version 1 of paintprogram from company A and version 2 of paint program from company A, ortrial software applications could be two different applications entirelye.g. two different paint programs from different companies, company Aand company B. This permits quick side-by-side comparison of using thecontent in the file attachment 240 with more than one trial softwareapplication. Further, in the event that the user selects one of thetrial software applications in the comparison, the trial softwaremanager 110, in one example, automatically uninstalls all the trialsoftware applications that were not selected. This greatly reduces theeffort of the user to compare trial software applications when openingthe file attachment.

Still further, in another example two or more occurrences of trialsoftware icons 260, 262, 264, 266 in step 1010 may behave as a “joint”or “composite” trial software icon because two or more icons areposition in the messaging window 200 so close to each other asdetermined by a settable threshold distance or the two or more iconssimply touching each other. In this example, dragging-and-dropping to a“joint” trial software icon enables a single drag-and-drop action of thefile attachment 240 to permit quick side-by-side comparisons. The trialsoftware manager 110 can position the trial software icons automaticallyto form a “joint” or “composite” icons based on sorting factors, e.g.company A wants to offer side-by-side comparison of two versions oftheir software e.g. basic and premium. Or company A wants to offerside-by-side comparison with another company's product. In this example,the two trial software icons would be close enough to behave as a“composite” or “joint” icon.

Information Processing System

Referring now to FIG. 11, this figure is a block diagram illustrating aninformation processing system that can be utilized in embodiments of thepresent invention. The information processing system 1102 is based upona suitably configured processing system configured to implement one ormore embodiments of the present invention (e.g., the Trial SoftwareManager 110 of FIG. 1). Any suitably configured processing system can beused as the information processing system 1102 in embodiments of thepresent invention. The components of the information processing system1102 can include, but are not limited to, one or more processors orprocessing units 1104, a system memory 1106, and a bus 1108 that couplesvarious system components including the system memory 1106 to theprocessor 1104.

The bus 1108 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

Although not shown in FIG. 11, the main memory 1106 includes thelocalization manager 150. The localization manager 150 can reside withinthe processor 1104, or be a separate hardware component. The systemmemory 1106 can also include computer system readable media in the formof volatile memory, such as random access memory (RAM) 1110 and/or cachememory 1112. RAM 1110 includes a trial software manager 1120 and sortingfactor 1130, such as those shown in FIG. 10

The information processing system 1102 can further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, a storage system 1114 can be provided forreading from and writing to a non-removable or removable, non-volatilemedia such as one or more solid state disks and/or magnetic media(typically called a “hard drive”). A magnetic disk drive for readingfrom and writing to a removable, non-volatile magnetic disk (e.g., a“floppy disk”), and an optical disk drive for reading from or writing toa removable, non-volatile optical disk such as a CD-ROM, DVD-ROM orother optical media can be provided. In such instances, each can beconnected to the bus 1108 by one or more data media interfaces. Thememory 1106 can include at least one program product having a set ofprogram modules that are configured to carry out the functions of anembodiment of the present invention.

Program/utility 1116, having a set of program modules 1118, may bestored in memory 1106 by way of example, and not limitation, as well asan operating system, one or more application programs, other programmodules, and program data. Each of the operating system, one or moreapplication programs, other program modules, and program data or somecombination thereof, may include an implementation of a networkingenvironment. Program modules 1118 generally carry out the functionsand/or methodologies of embodiments of the present invention.

The information processing system 1102 can also communicate with one ormore external devices 1120 such as a keyboard, a pointing device, adisplay 1122, etc.; one or more devices that enable a user to interactwith the information processing system 1102; and/or any devices (e.g.,network card, modem, etc.) that enable computer system/server 1102 tocommunicate with one or more other computing devices. Such communicationcan occur via I/O interfaces 1124. Still yet, the information processingsystem 1102 can communicate with one or more networks such as a localarea network (LAN), a general wide area network (WAN), and/or a publicnetwork (e.g., the Internet) via network adapter 1126. As depicted, thenetwork adapter 1126 communicates with the other components ofinformation processing system 1102 via the bus 1108. Other hardwareand/or software components can also be used in conjunction with theinformation processing system 1102. Examples include, but are notlimited to: microcode, device drivers, redundant processing units,external disk drive arrays, RAID systems, tape drives, and data archivalstorage systems.

Non-Limiting Examples

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method, or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention have been discussed above withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according to variousembodiments of the invention. It will be understood that each block ofthe flowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, can beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The description of the present application has been presented forpurposes of illustration and description, but is not intended to beexhaustive or limited to the invention in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The embodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A computer-implemented method of initiating trialuse of a software application, the method comprising: displaying on adisplay coupled to a computing device at least two trial software iconsas part of a messaging window, each trial software icon representing atrial software application that is not currently installed on thecomputing device, with each trial software icon representing distinctand separate versions of the trial software application for an identicalapplication; based on moving, using drag-and-drop, an objectrepresenting a file attachment in the messaging window to the trialsoftware icon, the messaging windows at least one an email program, atext messaging program, and a web-browser program, automaticallyperforming installing the trial software application on the computingdevice, launching the trial software application after installationthereof; and opening the file attachment using the trial softwareapplication for viewing on the display, wherein based on moving theobject representing the file attachment includes moving, as a singledrag-and-drop action, the object representing the file attachment to twotrial software icons positioned adjacent to each other, and wherein theautomatically performing further includes: installing a first version ofthe trial software application and a second version of the trialsoftware application on the computing device; launching the firstversion of the trial software application and the second version of thetrial software application after installation thereof; opening the fileattachment in both the first version of the trial software applicationand the second version of the trial software application to enableside-by-side comparison with the two versions of the trial softwareapplication, wherein the two trial software icons behave as a “joint” or“composite” trial software icon to permit a quick side-by-sidecomparison by a single drag-and-drop action; and in response to that oneof the trial software applications is selected, automaticallyuninstalling all the trial software applications that were not selected.2. The method of claim 1, wherein the at least two trial software iconsundergo a change when displayed on the computing device in at least oneof 1) an order of position displayed with respect to the messagingwindow and 2) appearance, based on which trial software has beeninstalled more frequently.
 3. The method of claim 1, wherein the atleast two trial software icons undergo a change when displayed on thecomputing device in at least one of 1) an order of position displayedwith respect to the messaging window and 2) appearance, based on whichtrial software has received a higher user rating.
 4. The method of claim1, wherein the at least two trial software icons undergo a change whendisplayed on the computing device in at least one of 1) an order ofposition displayed with respect to a position of the messaging windowwith respect to the messaging window and 2) appearance, based onadvertising payments associated with each trial software.
 5. The methodof claim 1, wherein the automatically performing further comprises:automatically minimizing a size of the messaging window on the display.6. The method of claim 1, wherein the automatically performing furthercomprises: automatically moving the trial software applications toforeground of the display.
 7. The method of claim 1, wherein thedisplaying on the display coupled to the computing device the at leasttwo trial software icons on the messaging window includes displaying theat least one trial software icon on a graphical user interfaceassociated with one of an email program, a text messaging program, and aweb-browser program.
 8. A computing device for initiating trial use of asoftware, the computing device comprising: a memory; a processorcommunicatively coupled to the memory, where the processor is configuredto perform displaying on a display coupled to a computing device atleast two trial software icons as part of a messaging window, themessaging window is at least one an email program, a text messagingprogram, and a web-browser program, each trial software iconrepresenting a trial software application that is not currentlyinstalled on the computing device, with each trial software iconrepresenting distinct and separate versions of the trial softwareapplication for an identical application; based on moving, usingdrag-and-drop, an object representing a file attachment in the messagingwindow to the trial software icon, automatically performing installingthe trial software application on the computing device, launching thetrial software application after installation thereof; and opening thefile attachment using the trial software application for viewing on thedisplay, wherein based on moving the object representing the fileattachment includes moving, as a single drag-and-drop action, the objectrepresenting the file attachment to two trial software icons positionedadjacent to each other, and wherein the automatically performing furtherincludes: installing a first version of the trial software applicationand a second version of the trial software application on the computingdevice; launching the first version of the trial software applicationand the second version of the trial software application afterinstallation thereof: opening the file attachment in both the firstversion of the trial software application and the second version of thetrial software application to enable side-by-side comparison with thefirst version and the second version of the trial software application,wherein the two trial software icons behave as a “joint” or “composite”trial software icon to permit a quick side-by-side comparison by asingle drag-and-drop action; and in response to that one of the trialsoftware applications is selected, automatically uninstalling all thetrial software applications that were not selected.
 9. The computingdevice of claim 8, wherein the at least two trial software icons undergoa change when displayed on the computing device in at least one of 1) anorder of position displayed with respect to the messaging window and 2)appearance, based on which trial software has been installed morefrequently.
 10. The computing device of claim 9, wherein the at leasttwo trial software icons undergo a change when displayed on thecomputing device in at least one of 1) an order of position displayedwith respect to the messaging window and 2) appearance, based on whichtrial software has received a higher user rating.
 11. The computingdevice of claim 9, wherein the at least two trial software icons undergoa change when displayed on the computing device in at least one of 1) anorder of position displayed with respect to the messaging window and 2)appearance, based on advertising payments associated with each trialsoftware.
 12. The computing device of claim 8, wherein the automaticallyperforming further comprises: automatically minimizing a size of themessaging window on the display.
 13. The computing device of claim 8,wherein the automatically performing further comprises: automaticallymoving the trial software applications to foreground of the display. 14.The computing device of claim 8, wherein the displaying on the displaycoupled to the computing device the at least one trial software icon onthe messaging window includes displaying the at least two trial softwareicons on a graphical user interface associated with one of an emailprogram, a text messaging program, and a web-browser program.
 15. Anon-transitory computer program product for of initiating trial use of asoftware application, the computer program product comprising a computerreadable storage medium having computer readable program code embodiedtherewith, the computer readable program code configured to: display ona display coupled to a computing device at least two trial softwareicons as part of a messaging window, each trial software iconrepresenting a trial software application that is not currentlyinstalled on the computing device, with each trial software iconrepresenting distinct and separate versions of the trial softwareapplication for an identical application; and based on moving, usingdrag-and-drop, an object representing a file attachment in the messagingwindow to the trial software icon, the messaging window is at least onean email program, a text messaging program, and a web-browser program,automatically performing install the trial software application on thecomputing device, launch the trial software application afterinstallation thereof; and open the file attachment using the trialsoftware application for viewing on the display, wherein based on movingthe object representing the file attachment includes moving, as a singledrag-and-drop action, the object representing the file attachment to twotrial software icons positioned adjacent to each other, and wherein theautomatically performing further includes: installing a first version ofthe trial software application and a second version of the trialsoftware application on the computing device; launching the firstversion of the trial software application and the second version of thetrial software application after installation thereof; opening the fileattachment in both the first version of the trial software applicationand the second version of the trial software application to enableside-by-side comparison with the first version and the second version ofthe trial software application, wherein the two trial software iconsbehave as a “joint” or “composite” trial software icon to permit a quickside-by-side comparison by a single drag-and-drop action; and inresponse to that one of the trial software applications is selected,automatically uninstalling all the trial software applications that werenot selected.
 16. The non-transitory computer program product 15,wherein the at least two trial software icons undergo a change whendisplayed on the computing device in at least one of 1) an order ofposition displayed with respect to the messaging window and 2)appearance, based on which trial software has been installed morefrequently.
 17. The non-transitory computer program product 15, whereinthe at least two trial software icons undergo a change when displayed onthe computing device in at least one of 1) an order of positiondisplayed with respect to the messaging window and 2) appearance, basedon which trial software has received a higher user rating.
 18. Thenon-transitory computer program product 15, wherein the at least twotrial software icons undergo a change when displayed on the computingdevice in at least one of 1) an order of position displayed with respectto a position of the messaging window with respect to the messagingwindow and 2) appearance, based on advertising payments associated witheach trial software.
 19. The non-transitory computer program product 15,wherein the automatically performing further comprises: automaticallyminimizing a size of the messaging window on the display.
 20. Thenon-transitory computer program product 15, wherein the automaticallyperforming further comprises: automatically moving the trial softwareapplications to foreground of the display.